package com.lqq.designPattern.bulider_pattern.singleton.demo3;
/**
 * 懒汉式单例 线程安全
 * */

public class Singleton {
    //构造器私有
    private Singleton() {}
    //声明Singleton类型的变量
    private static Singleton instance;
    //提供一个公共的访问方式，让外界获取该对
    //public static Singleton getInstance() { 线程不安全
    public static synchronized Singleton getInstance() {//方法加锁，保证了单例，但是执行效率贼慢
        //当instance对象为Null时，就创建Singleton对象
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}
